package com.c2c.service;

import com.c2c.po.Orders;

import java.util.List;

public interface OrderService {

    /**
     * 查看所有的订单信息，管理员端可调用
     * @return              所有的订单信息
     */
    List<Orders> findAllOrder();

    /**
     * 根据当前用户Id获取该用户买家身份的所有订单
     * @param userAccount   当前用户Id
     * @return              查询结果(
     */
    List<Orders> findAllOrderByUserAccountId(int userAccount);

    /**
     * 根据当前用户Id获取该用户卖家身份的所有订单
     * @param userAccount   当前用户Id
     * @return              查询结果
     */
    List<Orders> findAllOrderByGoodsId(int userAccount);

    /**
     * 根据传入的封装内容和orderState的code在此处转换封装更新订单状态
     * @param orders        Spring传值帮忙封装的内容
     * @param ordersState   接收到的orderState的code
     */
    void updateOrderStateByOrderId(Orders orders, int ordersState);

    /**
     * 传入封装好的值，创建订单
     * 但是对应的  创建订单一定是需要扣除买家的钱，卖家的钱是需要暂时保存在平台上，
     * 当订单双方都无异议后，订单步入结束，钱会加进卖家的账户
     * @param orders        封装好的订单所需要的信息
     */
    void insertOrder(Orders orders);

}